.TH SBOPKG.CONF 5 "June 2009" sbopkg-0.31.0 ""
.SH NAME
.B sbopkg.conf
\- Configuration file for sbopkg

.SH DESCRIPTION

The sbopkg.conf file contains configuration settings for
.B sbopkg
(8), a tool for interacting with the SlackBuilds.org ("SBo")
repository, a collection of third-party SlackBuild scripts to build
Slackware packages.  A sample file is provided at
/etc/sbopkg/sbopkg.conf.new.  Also, please see a note below about
$ARCH.

The different configuration options are:

.TP 5
.B REPO_NAME
.br
This option allows the user to choose the repository to use.
The default options are SBo, SB64 and local.
The 'local' choice corresponds to a user-maintained repository whose
structure must be the same as the one used by SlackBuilds.org.  NOTE:
all of the REPO_* variables are affected by the repository files
maintained in /etc/sbopkg/repos.d.  Please see the README-repos.d
document in the sbopkg /doc directory.

The default value of REPO_NAME is:
.br
REPO_NAME=${REPO_NAME:-SBo}.

.TP 5
.B REPO_BRANCH
.br
This option allows the user to set the default active repository
branch.  The current options are 11.0, 12.0, 12.1, 12.2, and 13.0 for
the SBo repository, master for the SB64 repositort and local for the
local repository.

The default value of REPO_BRANCH is:
.br
REPO_BRANCH=${REPO_BRANCH:-13.0}.

.TP 5
.B REPO_ROOT
.br
This option allows the user to set the location of the local
mirrors of the remote repositories.  Currently, the size of a local copy of
the SBo repository is less than 50MB.

The default value of REPO_ROOT is:
.br
REPO_ROOT=${REPO_ROOT:-/var/lib/sbopkg}.

.TP 5
.B SRCDIR
.br
This option contains the location of the cache directory where
source downloads will be saved.

The default value of SRCDIR is:
.br
SRCDIR=${SRCDIR:-/var/cache/sbopkg}.

.TP 5
.B SBOPKGTMP
.br
This option sets the default directory where certain working
files are saved on a temporary basis.

The default value of SBOPKGTMP is:
.br
SBOPKGTMP=${SBOPKGTMP:-/tmp/sbopkg}.

.TP 5
.B TMP
.br
This option sets the default directory where built packages should be stored.
TMP must be exported as it is used by the SlackBuilds.  Also note that the
default value of TMP is the same as in the SBo SlackBuild scripts.

The default value of TMP is:
.br
export TMP=${TMP:-/tmp/SBo}.

.TP 5
.B OUTPUT
.br
This option sets the default directory where compiled packages are
saved.  OUTPUT must be exported as it is also used by the SBo
SlackBuilds.  Also note that the default value of OUTPUT is therefore
the same as in the SBo SlackBuilds.

The default value of OUTPUT is:
.br
export OUTPUT=${OUTPUT:-/tmp}.

.TP 5
.B QUEUEDIR
.br
This option defines the directory under which saved queue files will
be kept.

The default value of QUEUEDIR is:
.br
QUEUEDIR=${QUEUEDIR:-/var/lib/sbopkg/queues}.

.TP 5
.B KEEPLOG
.br
This option should be set to YES or NO.  This option allows the user
to choose whether to keep a permanent log of packages that are built
with sbopkg in order to go back and review the build, and any errors,
after exiting sbopkg.  If set to YES, this permanent log is saved at
$LOGDIR/sbopkg-build-log.

The default value of KEEPLOG is: YES.

.TP 5
.B LOGDIR
.br
This option sets the location for the sbopkg permanent log if KEEPLOG
is set to YES (see previous paragraph).

The default value of LOGDIR is:
.br
LOGDIR=${LOGDIR:-/var/log/sbopkg}.

.TP 5
.B CLEANUP
.br
This option should be set to YES or NO.  When set to YES, the source
files and the various residuals from the process of building a package
are deleted right after the build.
A side effect of setting CLEANUP to YES is that the TMP setting got
from the environment or from the configuration files is ignored.

The default value of CLEANUP is: NO.

.TP 5
.B ALLOW_MULTI
.br
When set to YES, this option allows the user to run multiple instances
of sbopkg.

Please understand that this option is provided for convenience, but
given the number of potential issues you can face when enabling this
(and we aren't going to try to work around users doing silly things),
you should consider working with ALLOW_MULTI=YES as an EXPERIMENTAL
UNSUPPORTED feature. If you encounter problems, please try to make sure
these aren't caused by yourself doing improper things.

For reference, these are some of the things you shouldn't do with this
option enabled:
.RS 6
.IP \[bu] 2
run an ALLOW_MULTI=NO instance together with one or more having
ALLOW_MULTI=YES
.IP \[bu]
sync a repository when another instance is using it
.IP \[bu]
change the branch of a git repository when another instance is using it
(you can do this with rsync -- i.e. SlackBuild.org -- repos)
.IP \[bu]
simultaneously build or install the same package from different instances
.IP \[bu]
save a queue file while using it from another instance
.RE

.RS 5
There can be more unsafe situations we haven't thought about. Take care.
.RE

.TP 5
.B DEBUG
.br
This option should be set to 0, 1, or 2.  DEBUG sets the default
debugging level for the update list feature of sbopkg.  When DEBUG is
set to 0, then only potential updated (or downgraded) packages are listed.
When DEBUG is set to 1, then potential updates plus packages not in the
repo and packages that are newer than the repo are listed.  When DEBUG is
set to 2, all non-updated packages are also listed. Changing DEBUG to 1 or
2 may be helpful if it appears the updatelist might be missing an update.

The default value of DEBUG is: 0.

.TP 5
.B RSYNCFLAGS
.br
Rsync is used by sbopkg to mirror the SlackBuilds.org repository.
This option allows the user to manually tweak the rsync flags
(options) that are used by sbopkg.  Users are cautioned against making
any changes to the default values since new flags may or may not work.
Note:  the rsync command in sbopkg already uses the --archive,
--delete, --no-owner, and --exclude flags, so there is no need to add
them to the RSYNCFLAGS option.  Changing these default options is not
recommended.

The default value of RSYNCFLAGS is: "--timeout=10 --verbose".

.TP 5
.B WGETFLAGS
.br
Wget is used by sbopkg to download the source files for package
building.  This option allows the user to manually tweak the wget
flags (options) that are used by sbopkg.  Users are cautioned against
making any changes to the default values since new flags may or may
not work.  Note:  the wget command in sbopkg already uses the -O flag,
so there is no need to add that to the WGETFLAGS option.  Changing
these default options is not recommended.

The default value of WGETFLAGS is:
.br
"--continue --progress-bar --timeout=15 --tries=5".

.TP 5
.B DIFF
.br
This option allows the user to set which diff program to use when
sbopkg displays differences between edited files.

The default value of DIFF is:
.br
DIFF=${DIFF:-diff}.

.TP 5
.B DIFFOPTS
.br
This option allows the user to set which options are used by the $DIFF
program when sbopkg displays differences between edited files.

The default value of DIFFOPTS is:

DIFFOPTS=${DIFFOPTS:--u}

.SH OVERRIDING ENVIRONMENTAL VARIABLES
It is possible to set or override environmental variables and pass
them to the SlackBuild scripts when they are built from within sbopkg.
This is already demonstrated in the following line in the sbopkg.conf
file:

export TMP=${TMP:-/tmp/SBo}

This sets $TMP to /tmp/SBo for building SBo packages within sbopkg (which is
currently the default for SBo SlackBuilds already).  Since this variable is
exported, it could be changed for both sbopkg and for building SBo
packages within sbopkg.  For example, changing this line so it reads:

export TMP=${TMP:-/home/sbo/tmp}

would then set $TMP to /home/sbo/tmp for building SBo
packages.  OUTPUT can also be changed to save compiled packages in a
location other than the default of /tmp.

Please note that if the CLEANUP variable is set to YES, the TMP setting
is ignored.

You can also export variables in sbopkg.conf that are not used by
sbopkg at all.

.SH ABOUT $ARCH
You may be wondering why $ARCH is not a configuration setting in the
sbopkg.conf file.  The reason is that it does not have to be.  First, sbopkg
does some checking (using 'uname -m') to determine what the system's
architecture is.  If the architecture is x86_64, then sbopkg automatically
sets ARCH=x86_64.  If the architecture is not x86_64, then sbopkg will inherit
any $ARCH settings in the environment.  This means, the user can add, for
example, 'export ARCH=i686' in their .bashrc or similar file, or the user can
also execute something in the root terminal like 'export ARCH=i686 && sbopkg'.
The user can also manually add it to their sbopkg.conf file if they wish.
Finally, if $ARCH is not set by the user and sbopkg does not detect an x86_64
system, then $ARCH will default to whatever $ARCH is set to in the SlackBuild
scripts.

.SH FILES
.B /etc/sbopkg/sbopkg.conf
\ - File to specify configuration options.

.B /etc/sbopkg/renames.d/50-default
\ - Default file that lists software in SBo repository that has been renamed.
See the README-renames.d document in the sbopkg doc/ directory for more
information.

.B /etc/sbopkg/repos.d/{40-sbo.repo,50-sb64.repo,60-local.repo}
\ - Three default files for various types of sbopkg repositories.  See the
README-repos.d document in the sbopkg doc/ directory for more information.

.SH "SEE ALSO"
.BR sbopkg (8)
.BR doc/README
.BR doc/README-queuefiles
.BR doc/README-renames.d
.BR doc/README-repos.d
.BR doc/queuefiles/*
